package com.community.process._1010.service;

import com.community.process._1010.dao.view.ProcessCategoryNodeView;
import com.community.process._1010.dao.view.ProcessCategoryView;
import com.community.process._1010.domains.ProcessCategoryDTO;

import java.util.List;

/**
 * @Description:
 * @Author: Administrator to Zbs
 * @Date: 2024/9/6 星期五 13:09
 */
public interface ProcessCategoryService {

    /**
     * 获取类目信息
     * @param id ID
     * @return 分类信息
     */
    ProcessCategoryView getProcessCategoryViewById(Long id);

    /**
     * 添加分类
     * @param dto 添加信息
     */
    void addProcessCategory(ProcessCategoryDTO.CategoryAdd dto);

    /**
     * 编辑分类
     * @param dto 编辑信息
     */
    void editProcessCategory(ProcessCategoryDTO.CategoryUpdate dto);

    /**
     * 删除分类
     * @param dto 删除信息
     */
    void deleteProcessCategory(ProcessCategoryDTO.CategoryDelete dto);

    /**
     * 获取分类树
     * @return PwItemCategoryNodeView 分类节点信息
     */
    List<ProcessCategoryNodeView> getPwItemCategoryNodeTree(ProcessCategoryDTO.CategoryPageSearch dto);

    /**
     * 获取分类列表
     * @return PwItemCategoryNodeView 分类节点信息
     */
    List<ProcessCategoryNodeView> getPwItemCategoryList(ProcessCategoryDTO.CategoryPageSearch dto);
}
